package IO练习.常用方法;
import java.io.File;
public class io_one {
   /*
   常用方法：
      String getAbsolutePath():获取绝对 "路径"
      String getPath():获取路径
      String getName():获取名称
      String getParent():获取上层目录 "路径"
      long length():获取长度
      long lastModified():获取最后一次修改的时间
      String[] list():获取指定目录下的所有文件或者文件目录的名称数组（以文件名的方式显示）例:build.txt
      File[] listFiles():获取指定目录下的所有 "文件" 或者 "文件目录的File数组"（绝对路径的方式显示）例:D:\idea\build.txt
      boolean renameTo(File dest):把文件重命名为指定的文件路径
         例：如file1.renameTo(file2):把file1复制一遍到指定的目录，并命名为file2
            要想保证返回true,需要在file1存在，且file2不能存在

    */
   public static void main(String[] args) {
      File file1=new File("stream.txt");
      File file2=new File("streamCopy.txt");
      System.out.println(file1.getAbsolutePath());//D:\idea\new Project\GAOAL\stream.txt(绝对路径)
      System.out.println(file1.getPath());//stream.txt(相对路径)
      System.out.println(file1.getName());//stream.txt
      System.out.println(file1.getParent());//null
      System.out.println(file1.length());//18
      System.out.println(file1.lastModified());//1690267918193
      System.out.println("===========================");
      System.out.println(file2.getAbsolutePath());//D:\idea\new Project\GAOAL\streamCopy.txt(绝对路径)
      System.out.println(file2.getPath());//streamCopy.txt(相对路径)
      System.out.println(file2.getName());//streamCopy.txt
      System.out.println(file2.getParent());//null
      System.out.println(file2.length());//18
      System.out.println(file2.lastModified());//1690269399156
      System.out.println("===========================");
      test();
   }

   public static void test(){
      File file=new File("D:\\idea");
      String[] list = file.list();//返回它的下一层的文件和目录,只是返回下一层!不再继续往子文件夹的下一层遍历了
      for(String str:list){
         System.out.println(str+"   "+"以文件名的方式显示");
      }
      /*
         bin   以文件名的方式显示
         build.txt   以文件名的方式显示
         help   以文件名的方式显示
         ideaIU-2022.1.4.win.zip   以文件名的方式显示
         Install-Windows-zip.txt   以文件名的方式显示
         jbr   以文件名的方式显示
         lib   以文件名的方式显示
         license   以文件名的方式显示
         new Project   以文件名的方式显示
         plugins   以文件名的方式显示
         product-info.json   以文件名的方式显示
      */
      System.out.println("===========================");
      File[] files=file.listFiles();
      for(File f:files){
         System.out.println(f+"  "+"绝对路径的方式显示");
      }
      /*
         D:\idea\bin  绝对路径的方式显示
         D:\idea\build.txt  绝对路径的方式显示
         D:\idea\help  绝对路径的方式显示
         D:\idea\ideaIU-2022.1.4.win.zip  绝对路径的方式显示
         D:\idea\Install-Windows-zip.txt  绝对路径的方式显示
         D:\idea\jbr  绝对路径的方式显示
         D:\idea\lib  绝对路径的方式显示
         D:\idea\license  绝对路径的方式显示
         D:\idea\new Project  绝对路径的方式显示
         D:\idea\plugins  绝对路径的方式显示
         D:\idea\product-info.json  绝对路径的方式显示
       */
      System.out.println("===========================");
      File file1=new File("stream.txt");
      File file2=new File("D:\\idea\\new Project\\GAOAL\\gaoal.txt");
      boolean b = file1.renameTo(file2);
      System.out.println(b);
   }

}
